<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PxMaterialFlag Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="PhysXLogoBlack.png"/></td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('structPxMaterialFlag.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="structPxMaterialFlag-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">PxMaterialFlag Struct Reference<div class="ingroups"><a class="el" href="group__physics.html">Physics</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Flags which control the behavior of a material.  
 <a href="structPxMaterialFlag.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="PxMaterial_8h_source.html">PxMaterial.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a0cbfebf648d620e4619a5a81b49cc298"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298">Enum</a> { <a class="el" href="structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298ae7ac972a545dcab3eea1c3cc4e7f385a">eDISABLE_FRICTION</a> = 1 &lt;&lt; 0, 
<a class="el" href="structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298a5226d9bd4d9fca36ed7f116e95ea987c">eDISABLE_STRONG_FRICTION</a> = 1 &lt;&lt; 1, 
<a class="el" href="structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298a6789dd096a4391f38bca2f991c92a525">eIMPROVED_PATCH_FRICTION</a> = 1 &lt;&lt; 2
 }</td></tr>
<tr class="separator:a0cbfebf648d620e4619a5a81b49cc298"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Flags which control the behavior of a material. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxMaterial.html" title="Material class to represent a set of surface properties. ">PxMaterial</a> </dd></dl>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a0cbfebf648d620e4619a5a81b49cc298"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cbfebf648d620e4619a5a81b49cc298">&#9670;&nbsp;</a></span>Enum</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298">PxMaterialFlag::Enum</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0cbfebf648d620e4619a5a81b49cc298ae7ac972a545dcab3eea1c3cc4e7f385a"></a>eDISABLE_FRICTION&#160;</td><td class="fielddoc"><p>If this flag is set, friction computations are always skipped between shapes with this material and any other shape. </p>
</td></tr>
<tr><td class="fieldname"><a id="a0cbfebf648d620e4619a5a81b49cc298a5226d9bd4d9fca36ed7f116e95ea987c"></a>eDISABLE_STRONG_FRICTION&#160;</td><td class="fielddoc"><p>The difference between "normal" and "strong" friction is that the strong friction feature remembers the "friction error" between simulation steps. The friction is a force trying to hold objects in place (or slow them down) and this is handled in the solver. But since the solver is only an approximation, the result of the friction calculation can include a small "error" - e.g. a box resting on a slope should not move at all if the static friction is in action, but could slowly glide down the slope because of a small friction error in each simulation step. The strong friction counter-acts this by remembering the small error and taking it to account during the next simulation step.</p>
<p>However, in some cases the strong friction could cause problems, and this is why it is possible to disable the strong friction feature by setting this flag. One example is raycast vehicles, that are sliding fast across the surface, but still need a precise steering behavior. It may be a good idea to reenable the strong friction when objects are coming to a rest, to prevent them from slowly creeping down inclines.</p>
<p>Note: This flag only has an effect if the <a class="el" href="structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298ae7ac972a545dcab3eea1c3cc4e7f385a">PxMaterialFlag::eDISABLE_FRICTION</a> bit is 0. </p>
</td></tr>
<tr><td class="fieldname"><a id="a0cbfebf648d620e4619a5a81b49cc298a6789dd096a4391f38bca2f991c92a525"></a>eIMPROVED_PATCH_FRICTION&#160;</td><td class="fielddoc"><p>This flag only has an effect if <a class="el" href="structPxFrictionType.html#a603c53fd85805e2528a338252496a96bacf891c8b96deb40e1e475237fe4f4047" title="Select default patch-friction model. ">PxFrictionType::ePATCH</a> friction model is used.</p>
<p>When using the patch friction model, up to 2 friction anchors are generated per patch. As the number of friction anchors can be smaller than the number of contacts, the normal force is accumulated over all contacts and used to compute friction for all anchors. Where there are more than 2 anchors, this can produce frictional behavior that is too strong (approximately 2x as strong as analytical models suggest).</p>
<p>This flag causes the normal force to be distributed between the friction anchors such that the total amount of friction applied does not exceed the analyical results. </p>
</td></tr>
</table>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="PxMaterial_8h_source.html">PxMaterial.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="structPxMaterialFlag.html">PxMaterialFlag</a></li>
    <li class="footer">Copyright &copy; 2008-2021 NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, CA 95051 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a></li>
  </ul>
</div>
</body>
</html>
